#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
    pid_t pid = fork();

    if (pid == 0) {
        // 子进程立即退出
        printf("子进程 PID: %d 退出\n", getpid());
        exit(0);
    } else if (pid > 0) {
        // 父进程不回收子进程，保持运行
        printf("父进程 PID: %d 正在运行，子进程 PID: %d 已创建\n", getpid(), pid);
        sleep(30); // 父进程休眠30秒，足够时间查看僵尸进程
    } else {
        perror("fork 失败");
        exit(1);
    }

    return 0;
}
